#ifndef __CE_GFX_GL20_EFFECTTECHNIQUE_GL20_H__
#define __CE_GFX_GL20_EFFECTTECHNIQUE_GL20_H__

#include <export.h>
#include <gfx/ieffecttechnique.h>


/**
 * @brief OpenGL 2.0 implemenation of the iEffectTechnique interface
 */
class ceEffectTechniqueGL20 : public iEffectTechnique
{
  CE_OBJECT
private:
  iProgram* _programs[RP_Count];
  iProgram* _currentProgram;

public:
	ceEffectTechniqueGL20 ();

  virtual void SetProgram(ceRenderPass pass, iProgram *program);
  virtual iProgram* GetProgram (ceRenderPass pass);

	virtual iProgram* BeginPass (ceRenderPass pass);
  virtual void EndPass (ceRenderPass pass);


};


#endif /* ! __CE_GFX_GL20_EFFECTTECHNIQUE_GL20_H__ */
